ArrayList Equipped = new ArrayList();

public class Personagem{
  private String Nome;
  private int level, hp, mana, exp;
  private int hpMax, manaMax, capMax;
  private int prof;
  private boolean evolved;
  
  private Equipado Equips = new Equipado();
  

  
  Personagem(String n){
    Nome = n;
    level = 1;
    hpMax = 10;
    manaMax = 10;
    hp = hpMax;
    mana = manaMax;
    capMax = 10;
    
  }
  
  private int[] skills = new int[nSkills];

  private int[] cSkills = new int[nCombatSkills];
 
  private int[] attributes = new int[nAttributes];

  
  

  public void addSkill(int x){skills[x]++;}

  public void addCSkill(int x){wSkills[x]++;}

  public void addAttribute(int x){attributes[x]++;}

  public void setClass(int x){prof = x;}
  
  public void addHpMax(int x){hpMax += x;}

  public void addManaMax(int x){manaMax += x;}

  public void setEvolved(){evolved = !evolved;}
  
  public void addExp(int x){exp += x;}

  public void addHp(int x){hp = (hp + x > hpMax) ? hpMax : (hp + x < 0) ? 0 : hp;}
  
  public void addMana(int x){mana = (mana + x > manaMax) ? manaMax : (mana + x < 0) ? 0 : mana;}
  
  public void toEquip(Equipamento E){Equips.toEquip(E);}
  
  public void toUnEquip(Equipamento E){Equips.toUnEquip(E);}
  
  public int getWSkill(){return cSkills[Equips.getWClass()];}
  
  public int getAttribute(int x){return attributes[x];}
  
  public int getSkill(int x){return skills[x];}
  
  public int getCap(){return cap;}
  
  public int getPWeight(){return cap/capMax;}
  
  public int getWAtk(){
    return Equips.getAtk();
  }
  public int calcDamage(){
    int w = Equips.getAtk(); //Ataque da arma
    int cS =  //Skill com aquela classe de arma
    int aF = attributes[aFor];//Força do personagem
    int wW = Equips.getWeight(weapon);//Peso da Arma
    float eficiencia = (aF >= 2*wW) ? 1 : floor(aF/2*wW); //Penalidade para personagem que possua menos de 2* o peso da arma que usa.
    
    int bF = (aF > 2*wW) ? aF - wW : 0;// Bonus de força
    
    return floor((bF + w + cS)*eficiencia);
  }
  public int calcDef(){
    int d = Equips.getTotalDefense();
    return attributes[aFor] + d;
  }
  public void getStatus(){
    println("Nome: " + Nome);
    println("HP: " + hp);
    println("Mana: " + mana);
  }
  
}
